Digital video data is typically compressed to reduce storage capacity and/or transmission bandwidth requirements. The ITU-T H.264 standard for compression/decompression of digital video signals supports Context-based Adaptive Binary Arithmetic Coding (CABAC), which is an efficient form of entropy coding that continuously adapts to the statistical properties of the data being coded. For example, CABAC coding/decoding requires much lower bit rate compared to MPEG-2 coding/decoding to achieve the same general quality of video reproduction. Although relatively more efficient than the Huffman coding/decoding used in MPEG-2 coding/decoding, CABAC coding/decoding generally comprises a sequential multi-step process that is relatively more computationally intensive. As a consequence, parallel hardware architectures generally have limited utility in improving throughput in CABAC coding/decoding.
Each syntax element is represented in the form of binary sting after the binarization process. The binary string is decoded by the arithmetic decoder using context modelling. A Context variable becomes an input for the arithmetic decoder, where the context model state and most probable coded symbol form a single context variable. The context variable is updated while passing through the arithmetic decoding process. The context memory contains all context variables of all context models for CABAC.